package com.yanfan.energy.domain;

import com.yanfan.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 审批管理表(Approvals)实体类
 *
 * @author makejava
 * @since 2023-01-11 14:42:06
 */
public class Approvals implements Serializable {
    private static final long serialVersionUID = -80153830071878808L;
    /**
     * 主键
     */
    @Excel(name = "审批id")
    private Long id;
    /**
     * 审批编号
     */
    @Excel(name = "审批编号")
    private String number;
    /**
     * 审批标题
     */
    @Excel(name = "审批标题")
    private String title;
    /**
     * 申请类型
     */
    @Excel(name = "审批类型")
    private Long type;
    /**
     * 申请人
     */
    @Excel(name = "申请人")
    private String proposer;
    /**
     * 申请时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间")
    private Date proposerDate;
    /**
     * 状态（1、待审批，2、审批中，3、已通过，4、已拒绝）
     */
    @Excel(name = "申请状态")
    private Integer state;
    /**
     * 审批人
     */
    @Excel(name = "审批人")
    private String approver;
    /**
     * 审批时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审批时间")
    private Date approverDate;
    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private String createdBy;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间")
    private Date createdDate;
    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间")
    private Date lastModifiedDate;
    /**
     * 审批人
     *
     * @author caijinkang
     * @date 2023/2/10 14:16
     * @param null
     * @return null
     */
    private Integer operatorId;
    /**
     * 关联编号
     *
     * @author caijinkang
     * @date 2023/2/10 17:17
     * @param null
     * @return null
     */
    private String typeNumber;
    /**
     * 关联id
     *
     * @author caijinkang
     * @date 2023/2/10 17:17
     * @param null
     * @return null
     */
    private Integer typeId;
    /**
     * 申请类型名称
     *
     * @author caijinkang
     * @date 2023/2/13 13:48
     * @param null
     * @return null
     */
    private String typeName;


    public Approvals() {
    }

    public Approvals(Long id, String number, String title, Long type, String proposer, Date proposerDate, Integer state, String approver, Date approverDate, String createdBy, Date createdDate, Date lastModifiedDate, Integer operatorId, String typeNumber, Integer typeId) {
        this.id = id;
        this.number = number;
        this.title = title;
        this.type = type;
        this.proposer = proposer;
        this.proposerDate = proposerDate;
        this.state = state;
        this.approver = approver;
        this.approverDate = approverDate;
        this.createdBy = createdBy;
        this.createdDate = createdDate;
        this.lastModifiedDate = lastModifiedDate;
        this.operatorId = operatorId;
        this.typeNumber = typeNumber;
        this.typeId = typeId;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Long getType() {
        return type;
    }

    public void setType(Long type) {
        this.type = type;
    }

    public String getProposer() {
        return proposer;
    }

    public void setProposer(String proposer) {
        this.proposer = proposer;
    }

    public Date getProposerDate() {
        return proposerDate;
    }

    public void setProposerDate(Date proposerDate) {
        this.proposerDate = proposerDate;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getApprover() {
        return approver;
    }

    public void setApprover(String approver) {
        this.approver = approver;
    }

    public Date getApproverDate() {
        return approverDate;
    }

    public void setApproverDate(Date approverDate) {
        this.approverDate = approverDate;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    public Date getLastModifiedDate() {
        return lastModifiedDate;
    }

    public void setLastModifiedDate(Date lastModifiedDate) {
        this.lastModifiedDate = lastModifiedDate;
    }

    public Integer getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(Integer operatorId) {
        this.operatorId = operatorId;
    }

    public String getTypeNumber() {
        return typeNumber;
    }

    public void setTypeNumber(String typeNumber) {
        this.typeNumber = typeNumber;
    }

    public Integer getTypeId() {
        return typeId;
    }

    public void setTypeId(Integer typeId) {
        this.typeId = typeId;
    }

    @Override
    public String toString() {
        return "Approvals{" + "id=" + id + ", number='" + number + '\'' + ", title='" + title + '\'' + ", type=" + type + ", proposer='" + proposer + '\'' + ", proposerDate=" + proposerDate + ", state=" + state + ", approver='" + approver + '\'' + ", approverDate=" + approverDate + ", createdBy='" + createdBy + '\'' + ", createdDate=" + createdDate + ", lastModifiedDate=" + lastModifiedDate + ", operatorId=" + operatorId + ", typeNumber='" + typeNumber + '\'' + ", typeId=" + typeId + '}';
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }
}

